package com.zjy.software.day12;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

public class IteratorDemo {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("Java");
        list.add("Python");
        list.add("C++");

        Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            Object next = iterator.next();
            System.out.println("next = " + next);
        }

        //数组快速转化成集合
        String[] array = {"Java", "Python", "C++"};
        List<String> list1 = Arrays.asList(array);
        System.out.println("list1 = " + list1);
        list1.add("C");

        //快速定义一个数组,但是数组是只读的,不可以再添加元素
        List<String> list2 = Arrays.asList("11", "22", "33", "44");

        //没有使用泛型,导致集合里面各种类型数据都可以添加,导致取出的时候比较混乱
        List tmpList=new ArrayList();
        tmpList.add(123);
        tmpList.add(true);
        tmpList.add("123");
        tmpList.add(new IteratorDemo()  );
        Object o = tmpList.get(1);

        //使用泛型,可以在定义集合的时候就指定元素的类型,这样可以避免很多问题,并且从集合中拿出的元素不需要类型转化
        List<String> stringList = new ArrayList<>();
        stringList.add("Java");
//        stringList.add(123);
//        stringList.add(true);
//        stringList.add(new IteratorDemo());
        stringList.add("Python");

        String s = stringList.get(0);

        List<String> objList=new ArrayList<String>();
    }
}
